package gui;

import java.awt.EventQueue;

import javax.swing.JDialog;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;

import CUENTA.Tarjeta;
import Motor.Modelo;
import UTILIDADES.TipoTarjeta;
import gui.CuentasPanel;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;

@SuppressWarnings("unused")
public class NuevaTarjetaWindow extends JDialog {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTextField textFieldNumTarjeta;
	private JTextField textFieldMaximo;
	private JTextField textFieldLimiteDiario;
	private JTextField textFieldLimiteMensual;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private JComboBox<TipoTarjeta> comboBoxCreditoDebito;
	private JTextField textFieldNombre;

	/**
	 * Launch the application.
	 */
	

	/**
	 * Create the frame.
	 */
	public NuevaTarjetaWindow( final Modelo mod) {
		setResizable(false);
		setTitle("A\u00F1adir Tarjeta");
		setBounds(100, 100, 370, 328);
		getContentPane().setLayout(null);
		
		JLabel lblNumeroTarjeta = new JLabel("Numero Tarjeta");
		lblNumeroTarjeta.setBounds(10, 22, 99, 14);
		getContentPane().add(lblNumeroTarjeta);
		
		textFieldNumTarjeta = new JTextField();
		textFieldNumTarjeta.setHorizontalAlignment(SwingConstants.RIGHT);
		textFieldNumTarjeta.setText("0");
		textFieldNumTarjeta.setBounds(216, 19, 131, 20);
		getContentPane().add(textFieldNumTarjeta);
		textFieldNumTarjeta.setColumns(10);
		
		JLabel lblMaximo = new JLabel("Maximo");
		lblMaximo.setBounds(10, 139, 46, 14);
		getContentPane().add(lblMaximo);
		
		textFieldMaximo = new JTextField();
		textFieldMaximo.setHorizontalAlignment(SwingConstants.RIGHT);
		textFieldMaximo.setText("0");
		textFieldMaximo.setBounds(216, 136, 131, 20);
		getContentPane().add(textFieldMaximo);
		textFieldMaximo.setColumns(10);
		
		JLabel lblNombre = new JLabel("Nombre");
		lblNombre.setBounds(10, 58, 46, 14);
		getContentPane().add(lblNombre);
		
		comboBoxCreditoDebito = new JComboBox<TipoTarjeta>();
		comboBoxCreditoDebito.setBounds(216, 99, 131, 20);
		getContentPane().add(comboBoxCreditoDebito);
		
		//carga tarjeta
		for(TipoTarjeta tipo : TipoTarjeta.values()){
			comboBoxCreditoDebito.addItem(tipo);
		}
		
		JLabel lblLimiteDiario = new JLabel("Limite diario");
		lblLimiteDiario.setBounds(10, 179, 84, 14);
		getContentPane().add(lblLimiteDiario);
		
		textFieldLimiteDiario = new JTextField();
		textFieldLimiteDiario.setHorizontalAlignment(SwingConstants.RIGHT);
		textFieldLimiteDiario.setText("0");
		textFieldLimiteDiario.setBounds(216, 176, 131, 20);
		getContentPane().add(textFieldLimiteDiario);
		textFieldLimiteDiario.setColumns(10);
		
		JLabel lblLimiteMensual = new JLabel("Limite mensual");
		lblLimiteMensual.setBounds(10, 225, 99, 14);
		getContentPane().add(lblLimiteMensual);
		
		textFieldLimiteMensual = new JTextField();
		textFieldLimiteMensual.setHorizontalAlignment(SwingConstants.RIGHT);
		textFieldLimiteMensual.setText("0");
		textFieldLimiteMensual.setBounds(216, 222, 131, 20);
		getContentPane().add(textFieldLimiteMensual);
		textFieldLimiteMensual.setColumns(10);
		
		btnAceptar = new JButton("Aceptar");
		
		btnAceptar.setEnabled(false); //quitado de momento
		btnAceptar.addActionListener(new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				String Numt = textFieldNumTarjeta.getText();
				TipoTarjeta tipo = (TipoTarjeta) comboBoxCreditoDebito.getSelectedItem();
				String maximo = textFieldMaximo.getText();
				String LimiteDiario = textFieldLimiteDiario.getText();
				String LimiteMensual = textFieldLimiteMensual.getText();
				String nombre = textFieldNombre.getText();

				Tarjeta t = new Tarjeta(Integer.parseInt(Numt),tipo,Integer.parseInt(maximo),Integer.parseInt(LimiteDiario),Integer.parseInt(LimiteMensual));
				mod.add(t, nombre);
				//CuentasPanel tabla = null;				tabla.updateTabla(mod);
				dispose();
			}
		});
		btnAceptar.setBounds(10, 266, 89, 23);
		getContentPane().add(btnAceptar);
		
		btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
		btnCancelar.setBounds(216, 266, 113, 23);
		getContentPane().add(btnCancelar);
		
		textFieldNombre = new JTextField();
		textFieldNombre.setBounds(216, 55, 131, 20);
		textFieldNombre.setHorizontalAlignment(SwingConstants.RIGHT);
		getContentPane().add(textFieldNombre);
		textFieldNombre.setColumns(10);
		
		JLabel lblTipo = new JLabel("Tipo");
		lblTipo.setBounds(10, 102, 46, 14);
		getContentPane().add(lblTipo);

	}

	public JTextField getTextFieldNumTarjeta() {
		return textFieldNumTarjeta;
	}

	public JTextField getTextFieldMaximo() {
		return textFieldMaximo;
	}


	public JTextField getTextFieldLimiteDiario() {
		return textFieldLimiteDiario;
	}

	public JTextField getTextFieldLimiteMensual() {
		return textFieldLimiteMensual;
	}

	public JButton getBtnAceptar() {
		return btnAceptar;
	}

	public JButton getBtnCancelar() {
		return btnCancelar;
	}
}
